<template>
  <BasicForm @register="register" />
</template>

<script setup lang="ts">
  import { PaymenConfig, PaymenConfigUpdate } from '@/api/institution/list';
  import { IPaymenConfigUpdateData } from '@/api/institution/model/listModel';
  import { BasicForm, useForm } from '@/components/Form/index';
  import { useMessage } from '@/hooks/web/useMessage';
  import { inject, Ref } from 'vue';

  const dataId = inject('dataId') as Ref<string | number>;
  const { createMessage } = useMessage();

  async function getPaymenConfig() {
    let res = await PaymenConfig(dataId.value);
    res && setFieldsValue(res);
  }

  getPaymenConfig();

  const [register, { validate, setProps, setFieldsValue }] = useForm({
    schemas: [
      {
        field: 'divider-basic',
        component: 'Divider',
        label: '支付设置',
        colProps: {
          span: 24,
        },
      },
      {
        field: 'weChatPay',
        component: 'Switch',
        label: '是否开启微信支付',
        defaultValue: true,
        colProps: {
          span: 20,
        },
        itemProps: {
          extra: '（默认开启状态，关闭后，机构无法使用微信支付）',
        },
      },
      {
        field: 'bankAccountCollection',
        component: 'Switch',
        label: '是否开启银行转账支付',
        defaultValue: true,
        colProps: {
          span: 20,
        },
        itemProps: {
          extra: '（默认开启状态，关闭后，机构无法银行转账支付信息）',
        },
      },
      {
        field: 'qrCodeCollection',
        component: 'Switch',
        label: '是否开启二维码支付',
        defaultValue: true,
        colProps: {
          span: 20,
        },
        itemProps: {
          extra: '（默认开启状态，关闭后，机构无法设置二维码支付信息）',
        },
      },
      //   {
      //     field: 'orgType',
      //     component: 'Switch',
      //     label: '是否开启余额支付',
      //     defaultValue: true,
      //     colProps: {
      //       span: 20,
      //     },
      //     itemProps: {
      //       extra: '（默认开启状态，关闭后，买家将不能使用余额支付）',
      //     },
      //   },
      //   {
      //     field: 'orgType',
      //     component: 'Switch',
      //     label: '微信批量转账',
      //     defaultValue: true,
      //     colProps: {
      //       span: 20,
      //     },
      //     itemProps: {
      //       extra:
      //         '（开启功能后，会员、分销商微支付提现时，审核通过后，可以批量发放实现自动转账，开启前，请先开通企业付款，参考）',
      //     },
      //   },
      //   {
      //     field: 'orgType',
      //     component: 'RadioGroup',
      //     label: '姓名校验类型',
      //     defaultValue: true,
      //     colProps: {
      //       span: 20,
      //     },
      //     componentProps: {
      //       options: [
      //         { label: '必须真实姓名一致', value: '0' },
      //         { label: '已实名认证的用户', value: '1' },
      //         { label: '不校验真实姓名', value: '2' },
      //       ],
      //     },
      //   },
    ],
    autoFocusFirstItem: true,
    actionColOptions: {
      span: 24,
    },
    labelWidth: 200,
    submitButtonOptions: {
      text: '保存',
    },
    showResetButton: false,
    submitFunc: async () => {
      try {
        const res: IPaymenConfigUpdateData = await validate();
        setProps({
          submitButtonOptions: {
            loading: true,
          },
        });
        await PaymenConfigUpdate({ ...res, orgId: dataId.value });
        setProps({
          submitButtonOptions: {
            loading: false,
          },
        });
        createMessage.success('保存成功！');
        getPaymenConfig();
      } catch (error) {
        setProps({
          submitButtonOptions: {
            loading: false,
          },
        });
      }
    },
  });
</script>

<style></style>
